package com.prd.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 外勤管理表
 * </p>
 *
 * @author lizhaoyi
 * @since 2023-10-18
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AttendanceOutsideDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主题
     */
    @ApiModelProperty("主题")
    private String title;

    /**
     * 外勤时间单位
     */
    @ApiModelProperty("外勤时间单位")
    private String timeUnit;

    /**
     * 外勤时间
     */
    @ApiModelProperty("外勤时间")
    private Date outsideDate;

    /**
     * 时间段
     */
    @ApiModelProperty("时间段")
    private String timeSlot;

    /**
     * 时长
     */
    @ApiModelProperty("时长")
    private Integer duration;

    /**
     * 计划出发时间
     */
    @ApiModelProperty("计划出发时间")
    private Date planOutsideTime;

    /**
     * 目的单位
     */
    @ApiModelProperty("目的单位")
    private String targetUnit;

    /**
     * 目的地
     */
    @ApiModelProperty("目的地")
    private String targetAddress;

    /**
     * 联系人
     */
    @ApiModelProperty("联系人")
    private String targetName;

    /**
     * 电话
     */
    @ApiModelProperty("电话")
    private Integer targetPhone;

    /**
     * 预计时间
     */
    @ApiModelProperty("预计时间")
    private Date estimatedTime;

    /**
     * 外勤任务
     */
    @ApiModelProperty("外勤任务")
    private String outsideTask;

    /**
     * 外勤说明
     */
    @ApiModelProperty("外勤说明")
    private String outsideRemake;

    /**
     * 申请外勤人
     */
    @ApiModelProperty("申请外勤人")
    private String askOutsideName;

    /**
     * 审批人
     */
    @ApiModelProperty("审批人")
    private String approve;

    /**
     * 抄送人
     */
    @ApiModelProperty("抄送人")
    private String ccTo;

    /**
     * 外勤申请状态
     */
    @ApiModelProperty("外勤申请状态")
    private Integer status;

    /**
     * 用户id
     */
    @ApiModelProperty("用户id")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long userId;


}
